package com.xf.lastmall.order.api.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 退货记录上传到会员财务系统记录表
 * </p>
 *
 * @author mybatis plus自动生成代码类：MybatisResourcesGenerator.java
 * @since 2021-01-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderReturnGoodsUploadEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long uploadId;

    /**
     * 商场编码
     */
    private String mallCode;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 子订单号
     */
    private String orderSubNo;

    /**
     * 订单归属用户ID
     */
    private String userId;

    /**
     * 手机号（买家联系方式）
     */
    private String phone;

    /**
     * 用户姓名
     */
    private String realName;

    /**
     * 订单类型[1:秒杀/2:团购/3:活动/4:拼团/5:拼团单独购买]
     */
    private Integer orderType;

    /**
     * 商品名称
     */
    private String commodityName;

    /**
     * 券类型 | 1商品券2代金券4营销平台团购券5品牌券 7互动券
     */
    private Boolean commodityType;

    /**
     * 退货编码
     */
    private String returnId;

    /**
     * 申请退货数量
     */
    private Integer returnQuality;

    /**
     * 金额
     */
    private BigDecimal returnMoney;

    /**
     * 核销单编码
     */
    private String consumeId;

    /**
     * 核销码
     */
    private String consumeCode;

    /**
     * 核销时间
     */
    private Date consumeTime;

    /**
     * 核销店铺名称
     */
    private String consumeMerchantName;

    /**
     * 核销店铺编码
     */
    private String consumeMerchantCode;

    /**
     * 核销金额
     */
    private BigDecimal consumeAmount;

    /**
     * 核销人（发货操作人）
     */
    private String consumeUserName;

    /**
     * 核销数量
     */
    private Integer consumeQuality;

    /**
     * 分账类型( 1代收代付 ，2商场自营)
     */
    private Integer accountsType;

    /**
     * 会员状态 0无需上传  1 成功  2 失败
     */
    private Integer memberStatus;

    /**
     * 失败原因
     */
    private String memberReason;

    /**
     * 合同状态 0无需上传  1 成功  2 失败
     */
    private Integer jepStatus;

    /**
     * 财务系统上传原因
     */
    private String jepReason;

    /**
     * 退货申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date applyTime;

    /**
     * 退增审核完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 退款完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date completeTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 0 生效   1失效（或取消）
     */
    private Integer isDelete;


}
